问题
使用Appium + Python执行自动化测试用例过程中提示如下问题:
原因分析
研究发现,出现这一错误是因为Appium在执行测试脚本之前会安装如下两个包:
- io.appium.settings
- io.appium.unlock
正常情况下,测试结束后,应该删除这两个包,下次测试时再安装;或者在测试开始前检查是否存在,存在则不安装。
不知是由于我的测试机安卓版本太高(Android 7)亦或其他原因,执行后没有卸载这两个包,而每次开始却进行安装操作,所以引发了上述错误。解决方案
- 每次执行前,手动在测试机上删除这两个包
- 通过cmd删除:123456789adb uninstall io.appium.settingsadb uninstall io.appium.unlock```3. 将两个包的卸载命令写入测试脚本前两种比较麻烦,适合偶尔测试,频繁测试和调试的话,建议使用第三种方式# 后续 #最近使用了unicodeKeyboard=True resetKeyboard=True的选项隐藏屏幕键盘,再次启动时提示了:
Failure [INSTALL_FAILED_ALREADY_EXISTS: Attempt to re-install io.appium.ime without first uninstalling
this.processFromManifest.bind(this),
this.uninstallApp.bind(this),
this.installAppForTest.bind(this),
this.forwardPort.bind(this),
this.pushAppium.bind(this),
// this.initUnicode.bind(this),
// this.pushSettingsApp.bind(this),
// this.pushUnlock.bind(this),
function (cb) {this.uiautomator.start(cb);}.bind(this),
this.wakeUp.bind(this),
this.unlock.bind(this),
this.getDataDir.bind(this),
```